package com.zbkj.crmeb.chant.service;

import com.common.PageParamRequest;
import com.crmeb.core.common.CommonResult;
import com.github.pagehelper.PageInfo;
import com.zbkj.crmeb.chant.model.ChannelLive;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.crmeb.chant.request.*;
import com.zbkj.crmeb.merchant.api.request.*;
import com.zbkj.crmeb.merchant.api.response.BroadcastRoleInfoResponse;
import com.zbkj.crmeb.merchant.api.response.RoomInfo;

/**
 * <p>
 * 渠道商户直播表 服务类
 * </p>
 *
 * @author wuzp
 * @since 2022-07-11
 */
public interface ChannelLiveService extends IService<ChannelLive> {

    PageInfo<BroadcastRoleInfoResponse> getBroadcastRoleList(BroadcastRoleListRequest request, Integer merId);

    CommonResult<Object> addBroadcastRole(BroadcastRoleRequest request, Integer merId);

    CommonResult<Object> deleteBroadcastRole(BroadcastRoleRequest request, Integer merId);

    CommonResult<Object> addBroadcastGoods(BroadcastGoods request, Integer merId);

    PageInfo<BroadcastGoods> getBroadcastGoods(Integer status, PageParamRequest pageParamRequest, Integer merId);

    CommonResult<Object> updateBroadcastGoods(BroadcastGoods request, Integer merId);

    CommonResult<Object> resetBroadcastGoods(ResetBroadcastGoodsRequest request, Integer merId);

    CommonResult<Object> deleteBroadcastGoods(Integer goodsId, Integer merId);

    PageInfo<RoomInfo> getLiveList(PageParamRequest pageParamRequest, Integer merId);

    CommonResult<Object> addLive(AddLiveRequest request, Integer merId);

    CommonResult<Object> getLiveInfo(Integer roomId, PageParamRequest pageParamRequest, Integer merId);

    CommonResult<Object> editRoom(EditRoomRequest request, Integer merId);

    CommonResult<Object> deleteRoom(Integer roomId, Integer merId);

    CommonResult<Object> getSharedCode(Integer roomId, String params, Integer merId);

    CommonResult<Object> getAssistantList(Integer roomId, Integer merId);

    CommonResult<Object> addAssistant(AssistantRequest request, Integer merId);

    CommonResult<Object> modifyAssistant(AssistantRequest request, Integer merId);

    CommonResult<Object> removeAssistant(RemoveAssistantRequest request, Integer merId);

    CommonResult<Object> updateFeedPublic(FeedPublicRequest request, Integer merId);

    CommonResult<Object> updateReplay(ReplayRequest request, Integer merId);

    CommonResult<Object> updateKf(ReplayRequest request, Integer merId);

    CommonResult<Object> updateComment(FeedPublicRequest request, Integer merId);

    CommonResult<Object> onSaleGoods(OnSaleGoodsRequest request, Integer merId);

    CommonResult<Object> deleteGoodsInRoom(RoomGoodsRequest request, Integer merId);

    CommonResult<Object> pushGoods(RoomGoodsRequest request, Integer merId);

    CommonResult<Object> sortGoods(SortGoodsRequest request, Integer merId);

    CommonResult<Object> addRoomGoods(AddRoomGoodsRequest request, Integer merId);

    CommonResult<Object> getSubanchor(Integer roomId, Integer merId);

    CommonResult<Object> addSubanchor(RoomSubanchorRequest request, Integer merId);

    CommonResult<Object> modifySubanchor(RoomSubanchorRequest request, Integer merId);

    CommonResult<Object> deleteSubanchor(Integer roomId, Integer merId);

    CommonResult<Object> auditBroadcastGoods(Integer goodsId, Integer merId);

}
